package vista.modelo;

import com.gestion.modelo.dominio.ItemPedido;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 * @author Mauri@<itsoluciones.com.ar>
 */
//<editor-fold defaultstate="collapsed" desc="Para ser utilizada en lista de productos de un pedido">
public class ModeloTablaItemPedido extends AbstractTableModel {
    //</editor-fold>

    private List<ItemPedido> listaProductos;

    public ModeloTablaItemPedido(List<ItemPedido> listaProducto) {
        this.listaProductos = listaProducto;
    }

    public void setListaItemPedido(List<ItemPedido> listaProducto) {
        this.listaProductos = listaProducto;
        this.fireTableDataChanged(); //actualiza la vista, avisa que cambia el contenido
    }

    public List<ItemPedido> getListaItemPedido() {
        return listaProductos;
    }

    @Override
    public int getRowCount() {//devuelvo el número de filas disponibles
        return listaProductos.size();
    }

    @Override
    public int getColumnCount() {
        return 3;//usaré id-producto,descripcion y cantidad
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch (columnIndex) {
            case 0:
                return (listaProductos.get(rowIndex).getProducto().getId() + " ");
            case 1:
                return (listaProductos.get(rowIndex).getProducto().getNombre() + " ");
            case 2:
                return (listaProductos.get(rowIndex).getCantidad());
            default:
                return "Error";
        }
    }

    @Override
    public String getColumnName(int column) {
        switch (column) {
            case 0:
                return "Código";
            case 1:
                return "Nombre Producto";
            case 2:
                return "Cantidad";
            default:
                return "Error";
        }
    }
}
